Iterative decoding is a very powerful decoding technique used in many forward error correction (FEC) circuits for digital demodulation (and also for storage). Several standards implement decoding techniques such as Turbo codes and low density parity check (LDPC) decoding. For example, Turbo code is used in 3GPP and IEEE 802.16 standards, and LDPC is used in various recent digital video broadcast (DVB) standards including DVB-S2, DVB-T2 and DVB-C2. Iterative decoding outperforms error correcting capabilities in comparison with classical decoding. However iterative decoding implies a higher decoding frequency in order to perform many iterations and also increases complexity of a demodulator.
To realize high performance and high bit decoding throughput, the drawback is an increase in power consumption and thus power dissipation for a package that includes such a decoder. The typical power consumption for iterative decoding can be 50% or more of an entire chip's power consumption. Existing techniques for power reduction in LDPC decoding are based on reducing the iteration number or the activities of check node processors of the decoder when the iterative decoder is correcting errors successfully.